Page({
  data: {
    locations: ["不限", 
      // 直辖市
      "北京", "上海", "天津", "重庆",
      // 省份
      "河北", "山西", "辽宁", "吉林", "黑龙江", "江苏", "浙江", "安徽", 
      "福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "海南", 
      "四川", "贵州", "云南", "陕西", "甘肃", "青海",
      // 自治区
      "内蒙古", "广西", "西藏", "宁夏", "新疆",
      // 特别行政区
      "香港", "澳门"
    ],
    selectedLocation: "不限",
    allVisaOptions: [],
    visaOptions: [],
    countryImage: '' // 添加图片字段
  },
  
  onLoad(options) {
    console.log("页面加载，国家ID：", options.id);
    // 设置图片
    this.setData({
      countryImage: decodeURIComponent(options.image)
    });
      
      // 从后端获取签证选项数据
      wx.request({
        url: 'https://visa.goldenholiday.com/api/miniapp/admin/visaProduct/countryitemlist/' + options.id,
        method: 'GET',
        header: {
          'content-type': 'application/json'
        },
        success: (res) => {
          // 添加调试信息：查看原始响应数据
          console.log('接收到的原始数据:', res.data);
          
          if (res.data.code === 1) {
            // 转换数据格式
            const visaData = res.data.data.map(item => {
              // 添加调试信息：查看每个项目的数据转换
              console.log('正在处理的项目原始数据:', item);
              
              const convertedItem = {
                id: item.id,
                title: item.name,
                city: item.regionName,
                processingTime: item.transactTime,
                price: item.price,
                startDate: item.startDate,
                endDate: item.endDate,
                userNotice: item.userNotice,
                // 统一使用驼峰命名
                visaTypeId: item.visaTypeId,
                entryNumber: item.entryNumber,
                maxStay: item.maxStay
              };
              
              // 添加调试信息：查看转换后的数据
              console.log('转换后的项目数据:', convertedItem);
              return convertedItem;
            });
            
            // 添加调试信息：查看最终的数据集
            console.log('最终的数据集:', visaData);
            
            this.setData({
              allVisaOptions: visaData,
              visaOptions: visaData
            });
          } else {
            console.error('获取数据失败，错误码:', res.data.code);
            wx.showToast({
              title: '获取签证数据失败',
              icon: 'none'
            });
          }
        },
        fail: (err) => {
          console.error('请求失败，错误信息:', err);
          wx.showToast({
            title: '网络请求失败',
            icon: 'none'
          });
        }
      });
  },
  goBack() {
    wx.navigateBack();
  },
  navigateToDetail(e) {
    const itemId = e.currentTarget.dataset.id;
    const currentItem = this.data.visaOptions.find(item => item.id === itemId);
    
    wx.navigateTo({
      url: '/pages/countryitem_order/countryitem_order?id=' + itemId,
      success: function(res) {
        res.eventChannel.emit('acceptDataFromOpenerPage', { 
          visaData: {
            id: itemId,
            title: currentItem.title,
            processingTime: currentItem.processingTime,
            price: currentItem.price,
            city: currentItem.city,
            visaTypeId: currentItem.visaTypeId,
            entryNumber: currentItem.entryNumber,
            maxStay: currentItem.maxStay,
            userNotice: currentItem.userNotice,
            // 添加这两个字段
            startDate: currentItem.startDate,
            endDate: currentItem.endDate
          }
        })
      }
    });
  },
  onLocationChange(e) {
    const selectedLocation = this.data.locations[e.detail.value];
    this.setData({
      selectedLocation: selectedLocation
    }, () => {
      this.filterVisaOptions();
    });
  },
  // 筛选方法
  filterVisaOptions() {
    const { selectedLocation, allVisaOptions } = this.data;
    
    // 如果选择"不限"，显示所有选项
    if (selectedLocation === "不限") {
      this.setData({
        visaOptions: allVisaOptions
      });
      return;
    }
    
    // 筛选逻辑：
    // 1. 找出所有"全部领区"的项目
    // 2. 找出符合筛选条件的项目
    // 3. 合并两个结果
    const globalVisas = allVisaOptions.filter(item => 
      item.city === "全部领区"
    );
    
    const filteredVisas = allVisaOptions.filter(item => 
      item.city && item.city.includes(selectedLocation) && item.city !== "全部领区"
    );
    
    // 合并结果并去重
    const mergedVisas = [...globalVisas, ...filteredVisas];
    
    this.setData({
      visaOptions: mergedVisas
    });
  },
});
